// 数组/对象 展开运算符的意义很直观，此处仅记录一个非框架常见动作的一般应用.具体常见可能因为加入了自建
// 框架机制而高大上，但其本质就如本例一样简单。

let countDown = [1,2,3,4]
let doubleTime = []
countDown.forEach((val)=>{
    doubleTime.push(val*2)
})

// ...剩余参数Rest Params
function showNum(...numArr){
    numArr.forEach(val=>{
        console.log(val);
        
    })
}

showNum(...doubleTime)


// 使用对象展开符，进行基本属性的分离引用复制。
let obj1 = {
    a:1,
    b:2,
    son:{c:2}
}
let obj2 = {
    ...obj1
}
obj1.a = 3
obj1.son.c = 3
console.log(obj2);
